﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace FrbaCommerce.Facturar_Publicaciones
{
    public partial class frm_datosTarjeta : Form
    {
        public bool form_datos_tarjeta_submit_value { get; set; } 
        private bool nombreTitularValido = false;
        private bool apellidoTitularValido = false;
        private bool nroValido = false;
        private bool codigoValido = false;

        public frm_datosTarjeta()
        {
            InitializeComponent();
        }
        private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
    if (string.Equals((sender as Button).Name, @"CloseButton"))
        form_datos_tarjeta_submit_value = false;
        // Do something proper to CloseButton.
    
        // Then assume that X has been clicked and act accordingly.
}

        private void frm_datosTarjeta_Load(object sender, EventArgs e)
        {
            //carga los tipos de tarjeta
            BaseDeDatos baseDeDatos = BaseDeDatos.Instance;
            SqlCommand sqlCommand = new SqlCommand();
            sqlCommand.CommandText = "LOS_GDDES.SP_TRAER_TIPOS_TARJETA";
            sqlCommand.CommandType = CommandType.StoredProcedure;
            DataTable dt_tiposTarjeta = baseDeDatos.consulta(sqlCommand);
            cmb_tipoTarjeta.DataSource = dt_tiposTarjeta;
            cmb_tipoTarjeta.DisplayMember = "DESCRIPCION";
            cmb_tipoTarjeta.ValueMember = "ID_TIPO_TARJETA";
        }

        private void btn_cerrar_Click(object sender, EventArgs e)
        {
            form_datos_tarjeta_submit_value = false;
            this.Close();
        }

        private void btn_emitirFactura_Click(object sender, EventArgs e)
        {
            if((nombreTitularValido && apellidoTitularValido && nroValido && codigoValido) == true) {
            BaseDeDatos baseDeDatos = BaseDeDatos.Instance;
            SqlCommand sqlCommand = new SqlCommand();
            sqlCommand.CommandText = "LOS_GDDES.CREATE_OR_UPDATE_TARJETA_CREADITO";
            sqlCommand.Parameters.AddWithValue("@id_tipo_tarjeta", cmb_tipoTarjeta.SelectedValue);
            sqlCommand.Parameters.AddWithValue("@nro",Convert.ToInt32( txt_numeroTarjeta.Text));
            sqlCommand.Parameters.AddWithValue("@titular", baseDeDatos.idUsuario);
            sqlCommand.Parameters.AddWithValue("@nombre_titular", lbl_nombreTitular.Text);
            sqlCommand.Parameters.AddWithValue("@apellido_titular", lbl_apellidoTitular.Text);
            sqlCommand.Parameters.AddWithValue("@cod_seguridad",Convert.ToInt32( txt_codSeguridad.Text));
            sqlCommand.Parameters.AddWithValue("@fecha_venc", Convert.ToDateTime(dtp_fecVencimiento.Text));
            
            sqlCommand.CommandType = CommandType.StoredProcedure;
            baseDeDatos.consulta(sqlCommand);
            form_datos_tarjeta_submit_value = true;
            this.Close();

        }
            else {
                if (nroValido==false)
                {
                    txt_numeroTarjeta.BackColor = Color.Red;
                }
                if (nombreTitularValido== false)
                {
                   txt_nombreTitular.BackColor = Color.Red;
                }
                if (apellidoTitularValido== false)
                {
                    txt_apellidoTitular.BackColor = Color.Red;
                }
                if (codigoValido== false)
                {
                    txt_codSeguridad.BackColor = Color.Red;
                }
            
            }
        }

        private void txt_numeroTarjeta_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsControl(e.KeyChar)
        && !char.IsDigit(e.KeyChar)
        && e.KeyChar != '.')
            {
                e.Handled = true;
            }

        }

        private void txt_codSeguridad_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsControl(e.KeyChar)
        && !char.IsDigit(e.KeyChar)
        && e.KeyChar != '.')
            {
                e.Handled = true;
            }

        }

        private void txt_numeroTarjeta_Leave(object sender, EventArgs e)
        {
            if (txt_numeroTarjeta.Text == "") {
                    txt_numeroTarjeta.BackColor = Color.Red;
                    nroValido= false;
                }
                else
                {
                    txt_numeroTarjeta.BackColor = Color.White;
                    nroValido = true;
                }
        }

        private void txt_apellidoTitular_Leave(object sender, EventArgs e)
        {
            if (txt_apellidoTitular.Text == "")
            {
                txt_apellidoTitular.BackColor = Color.Red;
                apellidoTitularValido = false;
            }
            else
            {
                txt_apellidoTitular.BackColor = Color.White;
                apellidoTitularValido = true;
            }
        }

        private void txt_nombreTitular_Leave(object sender, EventArgs e)
        {
            if (txt_nombreTitular.Text == "")
                 {
                txt_nombreTitular.BackColor = Color.Red;
                nombreTitularValido= false;
            }
            else
            {
                txt_nombreTitular.BackColor = Color.White;
                nombreTitularValido = true;
            }
        }

        private void txt_codSeguridad_TextChanged(object sender, EventArgs e)
        {
            if (txt_codSeguridad.Text == "")
            {
                txt_codSeguridad.BackColor = Color.Red;
                codigoValido = false;
            }
            else
            {
                txt_codSeguridad.BackColor = Color.White;
                codigoValido= true;
            }
        }

    }
}
